package nextel.usuario.mvc;


import com.nextel.ui.OLabel;
import com.nextel.ui.OSoftKey;
import com.nextel.ui.OTextField;
import com.nextel.ui.OUILook;
import nextel.usuario.ControlUsuario;
import pe.com.nextel.idioma.IdiomaManager;
import pe.com.nextel.main.MVCAction;
import pe.com.nextel.util.StringUtils;

public class MVCUsuario extends MVCAction {
    
    private OTextField txtUsuario, txtPassword;
    private OSoftKey cmdOk,cmdExit,cmdMant;
    
    
    protected void createView() {
        
        cmdOk = new OSoftKey("LOGIN");        
        cmdExit = new OSoftKey(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_SALIR));
        cmdMant = new OSoftKey(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_CONFIGURACION));        
        formulario.setTitle(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_INGRESO), OUILook.PLAIN_SMALL_TITLE);
        
        //System.out.println("microedition.encoding: " + System.getProperty("microedition.encoding"));
        
        formulario.addSoftKey(cmdOk);
        formulario.addSoftKey(cmdExit);
        formulario.addSoftKey(cmdMant);        
    }
    
    protected void createItems() {
        
        formulario.add(new OLabel(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_USUARIO) +":", OUILook.PLAIN_SMALL_TEXT));        
        txtUsuario = new OTextField(25, OUILook.PLAIN_SMALL_TEXT, OTextField.ANY);
        formulario.add(txtUsuario);        
        
        formulario.add(new OLabel(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_CLAVE)+ ":", OUILook.PLAIN_SMALL_TEXT));        
        txtPassword = new OTextField( 25, OUILook.PLAIN_SMALL_TEXT, OTextField.NUMERIC | OTextField.PASSWORD);
        formulario.add(txtPassword);

    }
    
    public void performAction(OSoftKey c) {
        String usuario = txtUsuario.getText();
        String password = txtPassword.getText();

        if (c == cmdExit){
            destroy();
            ControlUsuario.getInstance().exitBussiness();
        }else if(c == cmdOk){
            if (txtUsuario.getText().equals("") || txtPassword.getText().equals("")) {
                ControlUsuario.getInstance().showError(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_INGRESE_CAMPOS), formulario);
                return;
            }
            destroy();
            ControlUsuario.getInstance().validarUsuario(usuario, StringUtils.convertirSHA1(password));
            
        }else if(c == cmdMant){
            if (txtUsuario.getText().equals("") || txtPassword.getText().equals("")) {
                ControlUsuario.getInstance().showError(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_INGRESE_DATOS), formulario);
                return;
            }
            destroy();
            ControlUsuario.getInstance().validarMantenimiento(usuario, password);
        }
        
    }
}
